1. Technical Field
The present invention relates to a method and system for using overlay manifests to encode differences between virtual machine images.
2. Discussion of the Related Art
Visualization is widely touted as a solution to both client-side and server-side problems in large enterprises. On the server-side, the problem is physical server sprawl, i.e., the tendency for enterprises to accumulate underutilized, heterogeneous, power-hungry, unmanageable servers. The virtualization solution is to replace each server with a virtual machine image (perhaps a software appliance) and run these images on a smaller number of well-utilized, homogeneous, thrifty, and centrally managed machines. Clients suffer from their own kind of sprawl, because, unless clients are centrally managed, no two clients are exactly alike, yet all must be kept up-to-date with the latest software. A virtualization solution is to distribute client-side software as software applications, which encapsulate an application together with a complete, configured environment.
Virtual machine images are convenient because they can be treated as data, but they also are subject to sprawl. As data, images can be cloned, versioned, stored in archives, and transformed; while physical servers cost money, creating a new image is “free”. However, these images must still be stored, and worse, because each image contains a full stack of software, each image must be maintained. This problem has been called virtual machine image sprawl or just image sprawl. Of course, an enterprise could avoid sprawl by creating only a few virtual machines, but this strategy forgoes some advantages of virtualization, such as stronger isolation between applications and a record of changes to applications.
Accordingly, there exists a need for a technique of combating virtual machine image sprawl.